Dialog
Dialog is a domain-specific language for creating works of interactive fiction. It is heavily inspired by Inform 7 (Graham Nelson et al. 2006) and Prolog (Alain Colmerauer et al. 1972).
An optimizing compiler, dialogc, translates high-level Dialog code into Z-code, a platform-independent runtime format originally created by Infocom in 1979.
Since Dialog version 0d/01 there's an interactive debugger, and since version 0g/01 there's a separate backend for the Å-machine story format.
The main discussion is happening at the intfiction.org forum, in the Dialog category.
Manual
The Dialog Manual will tell you everything about the latest version.
Brief notes for each new release appear in this forum thread.
Download
- dialog-0m03_0_46.zip (Dialog, release 0m/03, library 0.46, 3.2 MB)
- dialog-0m02_0_45.zip (Dialog, release 0m/02, library 0.45, 3.2 MB)
- dialog-0m01_0_44.zip (Dialog, release 0m/01, library 0.44, 3.2 MB)
- dialog-0k06_0_43.zip (Dialog, release 0k/06, library 0.43, 3.2 MB)
- dialog-0k05_0_42.zip (Dialog, release 0k/05, library 0.42, 3.2 MB)
- dialog-0k04_0_41.zip (Dialog, release 0k/04, library 0.41, 3.2 MB)
- dialog-0k03_0_40.zip (Dialog, release 0k/03, library 0.40, 3.2 MB)
- dialog-0k02_0_39.zip (Dialog, release 0k/02, library 0.39, 3.2 MB)
- dialog-0k01_0_39.zip (Dialog, release 0k/01, library 0.39, 3.2 MB)
- dialog-0j04_0_38.zip (Dialog, release 0j/04, library 0.38, 3.2 MB)
- dialog-0j03_0_37.zip (Dialog, release 0j/03, library 0.37, 3.2 MB)
- dialog-0j02_0_36.zip (Dialog, release 0j/02, library 0.36, 2.9 MB)
- dialog-0j01_0_35.zip (Dialog, release 0j/01, library 0.35, 2.9 MB)
- dialog-0i03_0_34.zip (Dialog, release 0i/03, library 0.34, 2.8 MB)
- dialog-0i02_0_34.zip (Dialog, release 0i/02, library 0.34, 2.8 MB)
- dialog-0i01_0_33.zip (Dialog, release 0i/01, library 0.33, 2.8 MB)
- dialog-0h05_0_32.zip (Dialog, release 0h/05, library 0.32, 2.8 MB)
- dialog-0h04_0_31.zip (Dialog, release 0h/04, library 0.31, 2.8 MB)
- dialog-0h03_0_30.zip (Dialog, release 0h/03, library 0.30, 2.7 MB)
- dialog-0h02_0_30.zip (Dialog, release 0h/02, library 0.30, 2.7 MB)
- dialog-0h01_0_30.zip (Dialog, release 0h/01, library 0.30, 2.7 MB)
- dialog-0g06_0_29.zip (Dialog, release 0g/06, library 0.29, 2.7 MB)
- dialog-0g05_0_28.zip (Dialog, release 0g/05, library 0.28, 2.7 MB)
- dialog-0g04_0_27.zip (Dialog, release 0g/04, library 0.27, 2.7 MB)
- dialog-0g03_0_26.zip (Dialog, release 0g/03, library 0.26, 2.7 MB)
- dialog-0g02_0_26.zip (Dialog, release 0g/02, library 0.26, 2.7 MB)
- dialog-0g01_0_26.zip (Dialog, release 0g/01, library 0.26, 2.6 MB)
- dialog-stdlib-0-25.dg (Standard library 0.25, minor update, 121.7 kB)
- dialog-0f07_0_24.zip (Dialog, release 0f/07, library 0.24, 2.5 MB)
- dialog-0f06_0_23.zip (Dialog, release 0f/06, library 0.23, 2.5 MB)
- dialog-0f05_0_23.zip (Dialog, release 0f/05, library 0.23, 2.5 MB)
- dialog-0f04_0_23.zip (Dialog, release 0f/04, library 0.23, 2.5 MB)
- dialog-0f03_0_23.zip (Dialog, release 0f/03, library 0.23, 2.5 MB)
- dialog-0f02_0_23.zip (Dialog, release 0f/02, library 0.23, 2.5 MB)
- dialog-0f01_0_23.zip (Dialog, release 0f/01, library 0.23, 2.5 MB)
- dialog-0e03_0_22.zip (Dialog, release 0e/03, library 0.22, 2.5 MB)
- dialog-0e02_0_21.zip (Dialog, release 0e/02, library 0.21, 2.5 MB)
- dialog-0e01_0_20.zip (Dialog, release 0e/01, library 0.20, 2.5 MB)
- dialog-0d02_0_19.zip (Dialog, release 0d/02, library 0.19, 2.4 MB)
- dialog-0d01_0_19.zip (Dialog, release 0d/01, library 0.19, 2.4 MB)
- dialog-stdlib-0-18.dg (Standard library 0.18, minor update., 121.7 kB)
- dialog-0c05_0_17.zip (Dialog, release 0c/05, library 0.17, 1.1 MB)
- dialog-0c04_0_16.zip (Dialog, release 0c/04, library 0.16, 1.1 MB)
- dialog-0c03_0_15.zip (Dialog, release 0c/03, library 0.15, 1.1 MB)
- dialog-0c02_0_14.zip (Dialog, release 0c/02, library 0.14, 1.1 MB)
- dialog-0c01_0_14.zip (Dialog, release 0c/01, library 0.14, 1.1 MB)
- dialog-stdlib-0-13.dg (Standard library 0.13, minor bugfix., 127.5 kB)
- dialog-0b01_0_12.zip (Dialog, release 0b/01, library 0.12, 1.2 MB)
The release archive includes:
- Full source code for the Dialog compiler.
- Pre-built executable files for Linux (i386 and x86_64) and Windows.
- The latest version of the Dialog standard library, and the standard debugging extension.
- A copy of the manual.
The compiler is distributed under a 2-clause BSD license.
IFID Generator
For reasons outlined in the Treaty of Babel, the Dialog compiler may bug you about declaring a story-specific IFID. To generate the required declaration, simply click the button below.
Notable works
This is what Cloak of Darkness looks like in Dialog.
My IFComp 2018 game Tethered is the first published Dialog game.
Posted Thursday 22-Nov-2018 21:18
Discuss this page
Disclaimer: I am not responsible for what people (other than myself) write in the forums. Please report any abuse, such as insults, slander, spam and illegal material, and I will take appropriate actions. Don't feed the trolls.
Jag tar inget ansvar för det som skrivs i forumet, förutom mina egna inlägg. Vänligen rapportera alla inlägg som bryter mot reglerna, så ska jag se vad jag kan göra. Som regelbrott räknas till exempel förolämpningar, förtal, spam och olagligt material. Mata inte trålarna.
Tue 11-Dec-2018 17:44
(instead of [take *]) doesn't seem to work in this case (scope?)
55 more comments hidden. Click to show all.
Wed 3-Sep-2025 15:41
Sat 20-Dec-2025 17:31
That's okay: you can make better decisions next time.
Daniel Stelzer
Mon 27-Apr-2026 17:27
The community is now maintaining a fork at <https://github.com/Dialog-IF/dialog> that receives periodic updates! (With Linus's blessing, though not his involvement.)
Daniel Stelzer
Mon 27-Apr-2026 17:29
Termios.h and ioctl.h are specifically for the terminal version of the debugger; the Glk version was provided for Windows to avoid using those libraries.
But as of 1b/01, the community fork now supports the terminal version on Windows as well. I haven't tried building it on MSYS, but it uses windows.h instead of those libraries, so I believe it should all work.